$(function () {
  // localStorage.setItem('baseUrl', 'https://wxmp.xihengtech.com/xboot_p7us');
  localStorage.setItem('baseUrl', 'http://x2019dev.softworkhouse.com/xboot_p7us/');
  //localStorage.setItem('baseUrl', 'http://responsivemarketingfunnel.com/xboot_p7us/');
  var baseUrl = localStorage.getItem('baseUrl');

  // 获取当前地址
  var projectUrl = '';
  var currentPageName = '';
  var isAgree = 1;
  ;(function getUrl () {
    // 获取当前域名
    var currUrl = window.location.href;
    var idx = currUrl.lastIndexOf('/') + 1;
    var c = currUrl.substr(0, idx);
    projectUrl = c;

    // 获取当前页面
    var pathNm = window.location.pathname;
    var pathNmIndex = pathNm.lastIndexOf('/')+1;
    currentPageName = pathNm.substr(pathNmIndex);
  })();

  // 初始化
  // FastClick.attach(document.body);

  // 1 menu
  var mmenu = $('nav#mmenu').mmenu({
    slidingSubmenus: true,
    classes: 'mm-white', //mm-fullscreen mm-light
    extensions: ["theme-white"],
    offCanvas: {
      position: "right", //left, top, right, bottom
      zposition: "front" //back, front,next
      //modal		: true
    },
    searchfield: false,
    counters: false,
    //navbars		: {
    //content : [ "prev", "title", "next" ]
    //},
    navbar: {
      // title: "网站导航"
    },
    header: {
      add: true,
      update: true,
      // title: "网站导航"
    }
  });
  $(".closemenu").click(function () {
    var mmenuAPI = $("#mmenu").data("mmenu");
    mmenuAPI.close();
  });
  
  // 1.2 尺寸
  $(window).resize(function () {
    userislogin(1);
  });

  // 1.3 mobile--nav--login after
  
  // 请求访问
  ; (function requestAccess() {
    
    if(!sessionStorage.getItem('cskey')) {
      sessionStorage.setItem('cskey', (new Date().getTime()));
    }

    var params15 = {
      'cskey': sessionStorage.getItem('cskey')
    }
    console.log('-----请求访问传参-----', params15);

    axios.post(baseUrl + '/trace/visit', params15, {
      headers: {
        'token': localStorage.getItem('token')
      }
    })

      .then(function (res) {

        if (res.data.code == 0 && res.data.msg == "success") {
          console.log('-----请求访问成功-----', res);

        } else {
          console.log('-----请求访问报错-----', res.data.msg);
        }

      })

      .catch(function (error) {
        console.log('-----请求访问失败-----', error);
      });

  })();

  // 2 sign in -- sign up
  // (1) 判断用户是否登录
  function userislogin (request) {
    var token = localStorage.getItem('token');
    // 隐藏弹窗
    $('.signin').hide();

    // 1. login
    if(token) {

      // 1.1 隐藏nav右侧
      $('#navigation2 .Lev1').hide();
      // 1.2 显示 user-tab
      $('#navigation2 .afterLogin').show();

      // 1.3 显示用户名
      // 请求
      if(!request) {
       
        axios.post(baseUrl + '/app/userInfo', {},
          {
            headers: {
              'token': localStorage.getItem('token')
            }
          }
        )

          .then(function (res) {

            // 1 登录成功
            if (res.data.code == 0 && res.data.msg == 'success') {
              console.log('----获取用户信息成功-----', res);
              // 显示用户名
              if (res.data.user) {
                // 导航栏显示用户名
                res.data.user.username && $('#navigation2 .afterLogin .atext').text(res.data.user.username);

                // 详情页显示用户名和邮箱和手机号
                res.data.user.username && $('.saleDetail #xrcontent #sendConsults #f-name').val(res.data.user.username);
                res.data.user.email && $('.saleDetail #xrcontent #sendConsults #f-email').val(res.data.user.email);
                res.data.user.mobile && $('.saleDetail #xrcontent #sendConsults #f-phone').val(res.data.user.mobile);

                res.data.user.email && $('.saleDetail #shareBox #sendEamil #yourEmail').val(res.data.user.email);
                res.data.user.email && $('.saleDetail #sendEmailToagent #sendtoAgent #fromEmail').val(res.data.user.email);


                // 列表页显示用户名和邮箱和手机号
                res.data.user.username && $('.houselist #listright #sendConsults #f-name').val(res.data.user.username);
                res.data.user.email && $('.houselist #listright #sendConsults #f-email').val(res.data.user.email);
                res.data.user.mobile && $('.houselist #listright #sendConsults #f-phone').val(res.data.user.mobile);
              }

            } else {

              console.log('-----获取用户信息失败-----', res);

            }

          })

          .catch(function (res) {
            console.log('-----请求用户信息失败-----', res);
          });
      }


      // 1.4 获取收藏数
      if(!request) {
        getLikeList();
      }
     
      // 1.5 mobile--侧边导航
      $('#mmenu .MMhead .users .afters').show();
      $('#mmenu .MMhead .users .before').hide();
      // sign out显示
      $('#mmenu .footout').show();

      // 1.6 页面--详情页的锁定
      $('body,html').removeClass('overflow');

    } else {

      // 未登录
      // 2.1 显示nav右侧
      $('#navigation2 .Lev1').show();
      // 2.2 隐藏 user-tab
      $('#navigation2 .afterLogin').hide();
      // 2.3 初始化收藏数
      $('.aboutUser #userFavourite .favNum').text(0);
      // 2.4 mobile--侧边导航
      $('#mmenu .MMhead .users .before').show();
      $('#mmenu .MMhead .users .afters').hide();
      // sign out隐藏
      $('#mmenu .footout').hide();
    }

  }
  userislogin();


  // (2) 登录后--点击移动端--退出
  $('#mmenu').on('click', '.footout', function () {
    $(".closemenu").click();
    $('.aboutUser .signOut').click();
  })

  // tab切换
  $('#signNav').on('click', '.up', function () {
    $(this).addClass('active').next('.log').removeClass('active');
    $('#userInfo .usersignin').hide();
    $('#userInfo .usersignup').show();
  })

  $('#signNav').on('click', '.log', function () {
    $(this).addClass('active').prev('.up').removeClass('active');
    $('#userInfo .usersignup').hide();
    $('#userInfo .usersignin').show();
  })
  
  var scrollTop;
  // 2.1 log in
  // 2.1.1 显示
  $('.pbox').on('click', '.activeLogin', function () {
    $('body,html').addClass('overflow');
   
    // 清空
    $('.signin').show().addClass('activethis');
    $('.signin .content').slideDown();

  })

  // 移动
  $('.noDis').on('click', '.activeLogin', function () {

    $('body,html').addClass('overflow');
  
    $(".closemenu").click();
    $('.signin').show().addClass('activethis');
    $('.signin .content').slideDown();

  })

  // 关闭 -- log in弹窗  
  $('body').on('click', '.signin', function (e) {

    // if ( e && e.preventDefault ) {
    //   e.preventDefault(); 
    // } else {
    //   window.event.returnValue = false; 
    // }

    setTimeout(() => {
  
      $('.usersignin #loginTips').hide();
      $('.usersignup #upginTips').hide();
      $('.signin .findpassword #findpaTips').hide();
      
      var theelem = e.target ? e.target : e.srcElement;
      var classname = theelem.className;

      if(classname == 'signin none activethis' || classname == 'closebtn') {

        $('.signin').find('.content').slideUp();
        setTimeout(() => {
          $('.signin').hide();

          $('body,html').removeClass('overflow');

        }, 100)

        setTimeout(() => {
          $('#signNav .log').addClass('active').prev('.up').removeClass('active');
          $('#userInfo .usersignup').hide();
          $('#userInfo .usersignin').show();

          // sign in
          $('.usersignin .email #input_email').val('');
          $('.usersignin .email .ts').hide();
          $('.usersignin .password #input_password').val('');
          $('.usersignin .password .ts').hide();

          $('.usersignup .name #input_name1').val('');
          $('.usersignup .name .ts').hide();

          $('.usersignup .email #input_email1').val('');
          $('.usersignup .email .ts').hide();

          $('.usersignup .password #input_password1').val('');
          $('.usersignup .password .ts').hide();

          $('.usersignup .confirm #input_confirm1').val('');
          $('.usersignup .confirm .ts').hide();
        }, 200)
      }

    }, 310)

    
  })


  // 2.1.2 log in 登录 
  $('.usersignin').on('click', '.loginsubmits', function () {
    $('.usersignin #loginTips').hide();

    // 校验
    var email = $('.usersignin .email #input_email').val();
    var password = $('.usersignin .password #input_password').val();

    if(!email) {
      $('.usersignin .email .ts').show();
      return;
    } else {

      var reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
      if(!reg.test(email)){
        $('.usersignin .email .ts').show();
        return;
      }

    }

    if(!password) {
      $('.usersignin .password .ts').show();
      return;
    }

    // 请求--登录
    axios.post(baseUrl + '/app/login', {"email": email,"password": password},
      {
        headers: {
          'token': localStorage.getItem('token')
        }
      }
    )

    .then(function (res) {

      // 1 登录成功
      if(res.data.code == 0 && res.data.msg == 'success') {
        console.log('-----账号存在 登录成功-----', res);

        // loading();

        // setTimeout(()=>{
          // 1.1 存储token
          localStorage.setItem('token', res.data.token);

          // 1.2 关闭弹窗 // 1.3 显示用户名
          userislogin();

          // 1.3 提示: 登录成功
          $('.success-logIn').show();
          setTimeout(()=>{
            $('.success-logIn').hide();
          }, 10000);

          console.log('-----当前页', currentPageName);

          // 1.4 sign up页 -- 跳转首页
          if(currentPageName == 'sign-up.html') {
            setTimeout(() => {
              window.location.href = projectUrl + 'index.html';
            }, 1000);
          }


        // }, 200)


      } else {

        console.log('-----登不上-----', res);        
        // 1.2 账号不存在  账号或密码错误 -- 提示错误
        // loading();
        $('.usersignin #loginTips').text(res.data.msg);
        $('.usersignin #loginTips').show();

      }
    
    })

    .catch(function (res) {
      console.log('-----请求用户登录失败-----', res);
      $('.usersignin #loginTips').text(res.data.msg);
      $('.usersignin #loginTips').show();
    });

    
  })

  // 2.1.3 email-focus
  $('.usersignin .email #input_email').focus(function () {
    $('.usersignin .email .ts').hide();
  })

  // 2.1.4 password-focus (Phone Number)
  $('.usersignin .password #input_password').focus(function () {
    $('.usersignin .password .ts').hide();
  })

  // 2.1.5 checkbox
  $('.usersignin .rad').on('click', '.pictur', function (res) {
    $(this).toggleClass('active');

    // 未选中
    if(!$(this).attr('active')) {
      // 不保持登录状态
      localStorage.setItem('stay', false);
    } else {
      localStorage.setItem('stay', true);
    }

  })

  // 2.1.6 点击--底部忘记密码
  $('.usersignin').on('click', '#forgetword', function () {
    $('.signin .login-normal').hide();
    $('.signin .login-find').show();
  })

  // 2.1.7 点击--忘记密码底部--返回
  $('.login-find').on('click', '.back', function () {
    $('.signin .login-find').hide();
    $('.signin .login-normal').show();
  })

  // 2.2 sign up -- 注册
  // 2.2.1 submit   
  $('.usersignup').on('click', '.upsubmit', function () {
    // 校验
    var name = $('.usersignup .name #input_name1').val();
    var email = $('.usersignup .email #input_email1').val();
    var password = $('.usersignup .password #input_password1').val();
    // var confirm = $('.usersignup .confirm #input_confirm1').val();

    if (!name) {
      $('.usersignup .name .ts').show();
      return;
    }

    if (!email) {
      $('.usersignup .email .ts').show();
      return;
    } else {

      var reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
      if (!reg.test(email)) {
        $('.usersignup .email .ts').show();
        return;
      }

    }

    if (!password) {
      $('.usersignup .password .ts').show();
      return;
    }

    // if (!confirm) {
    //   $('.usersignup .confirm .ts').text('cannot be blank');
    //   $('.usersignup .confirm .ts').show();
    //   return;
    // } else {
    //   // 和密码一样吗
    //   if (password != confirm) {
    //     $('.usersignup .confirm .ts').text('does not match password');
    //     $('.usersignup .confirm .ts').show();
    //     return;
    //   }
    // }

    // 请求--注册
    var params12 = {
      'uname': name,
      "email": email,
      "password": password,
      'acceptNewLists': isAgree
    };
    console.log('----- 注册传参 -----', params12);

    axios.post(baseUrl + '/app/register', params12,
      {
        headers: {
          'token': localStorage.getItem('token')
        }
      }
    )

      .then(function (res) {
        // 1 注册成功
        if(res.data.code == 0) {
          console.log('-----注册成功-----', res);

          // 请求登录
          var params16 = {
            "email": email,
            "password": password
          };
          console.log('-----登录传参-----', params16);
          axios.post(baseUrl + '/app/login', params16,
            {
              headers: {
                'token': localStorage.getItem('token')
              }
            }
          )

          .then(function (res) {

            // 1 登录成功
            if(res.data.code == 0 && res.data.msg == 'success') {
              console.log('-----账号存在 登录成功-----', res);

              // 1.1 存储token
              localStorage.setItem('token', res.data.token);

              // 1.2 关闭弹窗 // 1.3 显示用户名
              userislogin();

              // 1.3 提示: 登录成功
              $('.success-logIn').show();
              setTimeout(()=>{
                $('.success-logIn').hide();
              }, 10000)

              console.log('-----当前页-----', currentPageName);

              // 1.4 sign up页 -- 跳转首页
              if(currentPageName == 'sign-up.html') {
                setTimeout(() => {
                  window.location.href = projectUrl + 'index.html';
                }, 1000);
              }


            } else {

              console.log('-----登不上-----', res);        
              // 1.2 账号不存在  账号或密码错误 -- 提示错误
              // loading();
              $('.usersignin #loginTips').text(res.data.msg);
              $('.usersignin #loginTips').show();

            }
          
          })

          .catch(function (res) {
            console.log('-----请求用户登录失败-----', res);
            $('.usersignin #loginTips').text(res.data.msg);
            $('.usersignin #loginTips').show();
          });

  
          // loading();
          // setTimeout(()=>{
          //   // 1.1 存储token
          //   // localStorage.setItem('token', res.data.token);
  
          //   // 1.2 关闭弹窗 // 1.3 显示用户名
          //   // userislogin();
            
          //   // 1.3 成功提示 -- 去登录
          //   $('.usersignup #upginTips').show();

          // }, 100);

        } else {

          console.log('-----注册失败-----', res);
          // 2.1 提示
          $('.usersignup .exist').text(res.data.msg);
          $('.usersignup .exist').show();

        }

      })

      .catch(function (res) {
        console.log('-----请求注册失败-----', res);
        $('.usersignup .exist').text(res.data.msg);
        $('.usersignup .exist').show();
      });


  })

  // 2.2.2 name-focus
  $('.usersignup .name #input_name1').focus(function () {
    $('.usersignup .name .ts').hide();
  })

  // 2.2.3 email-focus
  $('.usersignup .email #input_email1').focus(function () {
    $('.usersignup .email .ts').hide();
    $('.usersignup .exist').hide();
  })

  // 2.2.4 password-focus (Phone Number)
  $('.usersignup .password #input_password1').focus(function () {
    $('.usersignup .password .ts').hide();
  })

  // // 2.2.5 password-focus
  // $('.usersignup .confirm #input_confirm1').focus(function () {
  //   $('.usersignup .confirm .ts').hide();
  //   $('.usersignup .confirm .ts').text('Please enter');
  // })
  
  // 2.2.6 checkbox
  $('.usersignup .confirm2').on('click', '.pictur', function (res) {
    $(this).toggleClass('active');

    // 未选中
    if(!$(this).attr('active')) {
      // 不接受
      isAgree = 0;
    } else {
      isAgree = 1;
    }
    
  })


  // 3 返回顶部
  $(window).scroll(function () {
    if ($(window).scrollTop() > 150) {
      $("#toTop").fadeIn(1000)
    } else {
      $("#toTop").fadeOut(1000)
    }
  })

  $("#toTop").click(function () {
    $('body,html').animate({
      scrollTop: 0
    }, 300)
    return false
  })

  // 4 nav
  $('.navbar-left li').on('click', 'a', function () {
    $('.navbar-left li a').removeClass('active');
    $(this).addClass('active');
  })

  // 6 login后
  $("#navigation2 .afterLogin").hover(function () {
    $(this).find('.aboutUser').show();

  }, function () {
    $(this).find('.aboutUser').hide();

  });
   
  // 7 loading
  function loading(m) {
    if(!m) {
      $('.load').show();
      setTimeout(() => {
        $('.load').hide();
      }, 2000)
    } else {
      $('.load').show();
      setTimeout(() => {
        $('.load').hide();
      }, m)
    }
  
  }

  // loading();

  // 8 login后 -- 下拉框
  // 8.1 点击 -- Sign Out
  $('.aboutUser').on('click', '.signOut', function () {
    // loading();

    // setTimeout(()=>{
      localStorage.removeItem('token');
      // 刷新
      userislogin();

      // 提示: 退出成功      
      $('.success-signOut').show();

      // 回首页
      setTimeout(()=>{
        if(currentPageName != 'index.html') {
          window.location.href = projectUrl + 'index.html';
        } else {
          setTimeout(() => {
            $('.success-signOut').hide();
          }, 5000)
        }
      }, 1000);


    // },100)
    
  })

  // 8.2 点击 -- Favourites -- a


  // 9 关闭提示
  // 9.1 关闭--登录成功提示
  $('.success-logIn').on('click', '.close', function () {
    $('.success-logIn').hide();
  })

  // 9.2 关闭--退出成功提示
  $('.success-signOut').on('click', '.close', function () {
    $('.success-signOut').hide();
  })

  // 9.3 关闭--通用提示
  $('.commonTips').on('click', '.close', function () {
    $('.commonTips').hide();
  })
  

  // 10 获取收藏数
  var likeListResult = [];
  function getLikeList() {

    axios.post(baseUrl + '/mclient/member/collectList', {},
      {
        headers: {
          'token': localStorage.getItem('token')
        }
      }
    )

      .then(function (res) {

        if (res.data.code == 0 && res.data.msg == "success") {
          console.log('-----获取收藏列表成功-----', res);
          likeList = res.data.results;
          if(likeList && likeList.length) {
            $('.aboutUser #userFavourite .favNum').text(likeList.length);
            $('.users .afters #faNum').text(likeList.length);  //移动端
          }


        } else {
          console.log('-----获取收藏列表不成功-----', res);
        }

      })

      .catch(function (res) {
        console.log('-----请求收藏列表接口失败-----', res);
      });

  };

  // 11 点击logo--回首页
  $('#header-sec').on('click', '.navbar-brand', function () {
    window.location.href = projectUrl + 'index.html';
  })

  // 12.1 点击 忘记密码
  $('.signin').on('click', '#sendPass', function () {
    var email = $('.signin .findpassword #sendEmail').val();

    if (!email) {
      $('.signin #emaFi .ts').show().text('cannot be blank');
      return;

    } else {

      var reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
      if (!reg.test(email)) {
        $('.signin #emaFi .ts').show().text('Please enter the correct email.');
        return;
      }

    }

    // 请求--找回密码
    axios.post(baseUrl + '/app/forgetPwd4email', {"email": email},
      {
        headers: {
          'token': localStorage.getItem('token')
        }
      }
    )

    .then(function (res) {

      // 1 发送找回密码成功
      if(res.data.code == 0 && res.data.msg == 'success') {
        console.log('-----发送找回密码成功-----', res);

        // loading();
 
        // 关闭弹窗
        $('.signin').find('.content').slideUp();
        setTimeout(() => {
          $('.signin').hide();
        }, 100)

        // 提示
        $('.findmailbox').show();

        // 关闭提示
        setTimeout(()=>{
          $('.findmailbox').hide();
        }, 5000)



      } else {

        console.log('-----发送找回密码失败-----', res);     

        // 1.2 提示错误
        res.data.msg && $('.signin .findpassword #findpaTips').show().text(res.data.msg);
  
      }
    
    })

    .catch(function (res) {
      console.log('-----请求找回密码失败-----', res);
      res.data.msg && $('.signin .findpassword #findpaTips').show().text(res.data.msg);
    });


  })

  // 12.2 email-focus
  $('.signin .findpassword #sendEmail').focus(function () {
    $('.signin #emaFi .ts').hide();
  })
  

})